#ifndef __SIPREGISTERSESSION_HPP__
#define __SIPREGISTERSESSION_HPP__

#include "WTSXSipService/SipWTSXServiceItf.hpp"
#include "WTSXSipService/SipDlgSessionBase.hpp"


namespace wtsxsip{


class WTSX_SIPSRV_PUBLIC CSipRegisterSession: 
    public CSipDlgSessionBase
{
public:

    CSipRegisterSession(CSipSessionMgr& mgr, uint32_t id, wtsip::ISipDialogBase& dlg, const wtsip::SUri& tar);

    CSipRegisterSession(CSipSessionMgr& mgr, uint32_t id, wtsip::ISipDialogBase& dlg, 
        const wtsip::SUri& tar, CSipTranSession& tran);

    virtual ~CSipRegisterSession();

    virtual bool send(const wtsip::SUri& tar, const wtsip::SUri& from, const wtsip::SUri& to, 
        wtsip::EMethodTypes mth, int expires, CapSMsgBodyBase body);

    virtual bool messageDress(wtsip::CSipMessage& msg);

private:

    uint32_t m_regTranId;
};



}//namespace


#endif


